package dto

// FeatureCollection represents the entire JSON structure
type FeatureCollection struct {
	Type     string    `json:"type"`
	CRS      CRS       `json:"crs"`
	Features []Feature `json:"features"`
}

// CRS represents the Coordinate Reference System object
type CRS struct {
	Type       string        `json:"type"`
	Properties CRSProperties `json:"properties"`
}

// CRSProperties holds the name of the CRS
type CRSProperties struct {
	Name string `json:"name"`
}

// Feature represents each individual feature in the collection
type Feature struct {
	Type       string     `json:"type"`
	ID         int        `json:"id"`
	Geometry   Geometry   `json:"geometry"`
	Properties Properties `json:"properties"`
}

// Geometry represents the geometric data of the feature
type Geometry struct {
	Type        string    `json:"type"`
	Coordinates []float64 `json:"coordinates"`
}

// Properties holds additional data about each feature
type Properties struct {
	Name       string    `json:"name"`
	Class      string    `json:"class"`
	District   string    `json:"district"`
	Timestamps []string  `json:"timestamps"`
	Depth      []float64 `json:"depth"`
	Risk       []string  `json:"risk"`
}
